#ifndef E_NODES_H
#define E_NODES_H
#include "e_types.h"
#include <GL/gl.h>
#include <iostream>

class e_nodes
{
    public:
        e_nodes(e_nodes *, e_cube);
        void subdivide();
        void show();

        bool subdivided;
        e_nodes *parent;
        e_nodes *children[8];
        e_cube *children_e_cubes;
        e_cube *me;

        GLfloat * position_data_ptr;
        const GLsizei vertex_count = 72;
    protected:
    private:
        inline void setup_e_cubes();
        float half;
        void sides();
};

#endif // E_NODES_H
